<?php

include "../../../lib/start.php";

check_session();
check_permission(DOC_PERM);
//$f_f = fopen("../../tmp/dir.log", "w+");

if(isset($_REQUEST['upd'])){
	// paginazione del referer
	$referer = $_REQUEST['referer'];
	$tipo_documento = $_REQUEST['tipo_documento'];
	$anno = $_REQUEST['anno'];
	$categoria = $_REQUEST['categoria'];
	$materia = $_REQUEST['materia'];
	
    $classe = $_REQUEST['classe'];
    $titolo = $_REQUEST['titolo'];
    $abstract = $_REQUEST['abstract'];
    if($_REQUEST['_i'] == 0)
    	$file = ereg_replace(" ", "_", basename( $_FILES['fname']['name']));
    else
    	$file = basename( $_REQUEST['fname']);
        
    /**
     * gestione file nel filesystem
     */
    $dir = "/www/MW_qPayyGPcq/scuolamediatre.it/download/didattica/".$_SESSION['__user__']->getUid();
    $link = "didattica/".$_SESSION['__user__']->getUid()."/".$file;
    
    // create
    if($_REQUEST['funzione'] == 1){
	    if(!file_exists($dir)){
	    	fwrite($f_f, $dir."\n");
	    	if(!mkdir($dir)){
	    		print "Tentativo di creazione della directory ".$dir." fallito";
	    		exit;
	    	}
	    	else
	    		fwrite($f_f, $dir . " creata\n");
	    }
	    else
	    	fwrite($f_f, $dir . " esiste\n");
	    $target_path = $dir . "/" . $file;
	    //print $target_path;
	    if(move_uploaded_file($_FILES['fname']['tmp_name'], $target_path)) {
		    //echo "The file ".  basename( $_FILES['fname']['name']). " has been uploaded";
		    chdir($dir);
		    chmod($file, 0644);
		} else{
		    echo "There was an error uploading the file, please try again!";
		    exit;
		}
    }
    // delete
    else if($_REQUEST['funzione'] == 2){
    	chdir($dir);
    	if(file_exists($_REQUEST['fname']))
    		unlink($dir."/".$_REQUEST['fname']);
    	else{
    		print("Attenzione: il file ".$dir.$_REQUEST['fname']." sembra non esistere. Verificare il percorso");
    		exit;
    	}
    }
    // rename
   	else if($_REQUEST['funzione'] == 3){
   		//print "funzione 3";
   		chdir($dir);
    	if(file_exists($_REQUEST['oldfile'])){
    		if(!rename($_REQUEST['oldfile'], $_REQUEST['fname'])){
    			print "Tentativo di rinominare ".$_REQUEST['oldfile']." in ".$_REQUEST['fname']." fallito";
    			exit;
    		}
    	}
    	else{
    		print("Attenzione: il file ".$dir."/".$_REQUEST['oldfile']." sembra non esistere. Verificare il path");
    		exit;
    	}
   	}
    
    switch($_REQUEST['funzione']){
        case 1:     // inserimento
            $statement = "INSERT INTO documents (data_upload, file, doc_type, abstract, anno_scolastico, owner, titolo, classe_rif, dw_counter, link";
            if($tipo_documento == 4)
            	$statement .= ", categoria, materia";
            $statement .= ")" . " VALUES (NOW(), '$file', $tipo_documento, '$abstract', $anno, ".$_SESSION['__user__']->getUid().", '$titolo', '$classe', 0, '$link'";
            if($tipo_documento == 4)
            	$statement .= ", $categoria, $materia";
            $statement .= ")";
            //print $statement;
            $msg = "Il file &egrave; stato inserito correttamente";
            break;
        case 2:     // cancellazione
            $statement = "DELETE FROM documents WHERE id = ".$_REQUEST['_i'];
            //print $statement;
            $msg = "Il file &egrave; stato cancellato correttamente";
            break;
        case 3:     // modifica
            $statement = "UPDATE documents SET abstract = '$abstract', titolo = '$titolo', file = '".$_REQUEST['fname']."', doc_type = $tipo_documento, anno_scolastico = $anno, classe_rif = $classe, ultima_modifica = NOW(), link = '$link' WHERE id = ".$_REQUEST['_i'];
            //print $statement;
            $msg = "Il file &egrave; stato aggiornato correttamente";
            break;
    }
    try{
    	$recordset = $db->executeQuery($statement);
    } catch (MySQLException $ex){
    	$msg = "ko|".$ex->getMessage()."|".$ex->getQuery();
    	print $msg;
    	exit;
    }
}
else{
	// per la paginazione del REFERER
	$referer = $_SERVER['HTTP_REFERER'];
}
	
if($_REQUEST['_i'] != 0){
	$_i = $_REQUEST['_i'];
	$sel_doc = "SELECT * FROM documents WHERE id = ".$_REQUEST['_i'];
	$r_doc = $db->executeQuery($sel_doc);
	$current_doc = $r_doc->fetch_assoc();
}
else{
	$_i = 0;
}

// anni scolastici
$sel_anni = "SELECT id_anno, descrizione FROM anni ORDER BY id_anno DESC";
$res_anni = $db->executeQuery($sel_anni);

/*
// tipi documento
$sel_tipo = "SELECT * FROM document_types WHERE id = 3 OR id = 4";
$res_tipo = mysql_query($sel_tipo);
*/

// materie
$sel_materie = "SELECT * FROM materie WHERE id_materia < 999";
$res_materie = $db->executeQuery($sel_materie);

// categorie
$sel_categorie = "SELECT * FROM categorie_docs WHERE tipo_documento = 4";
$res_categorie = $db->executeQuery($sel_categorie);

include "dettaglio_documento.html.php";

?>